is competitive programming worth it